<?php
/**
 * 
 * Vérifie que l'utilisateur est autorisé
 * à se connecter et crée une session en BDD
 * @param string $login
 * @param string $passwd
 */
function authz($login, $passwd)
{
	$sql ="
			SELECT * FROM mu_account
			WHERE login='".$login."'
			AND password='".$passwd."'
	";
	$query = @mysql_query($sql);
	
	//v�rifie si l'utilisateur existe
	if(mysql_num_rows($query)>0)
	{
		
		
		
		// r�cup et fab des nouvelles variables de sessions.
		$a = mysql_fetch_array($query);
		$_SESSION['id'] = $a['id_account'];
		
		$token = uniqid();
		$_SESSION['token'] = $token;
		
		//suppression des vieilles sessions de l'utilisateur si elles sont toujours pr�sentes
		deleteOldSession($a['id_account']);
		
		//cr�ation d'une nouvelle session
		$sql = "INSERT INTO mu_session 
		(id_session, fid_account, date_last_access)
		VALUES ('".$token."',
		'".$a['id_account']."',
		'".date("Y-m-d H:i:s")."')";
		mysql_query($sql);
		if($a['date_end']<date("Y-m-d") && !isAdmin($a['id_account'],$token))
		{
			logout($a['id_account']);
			return FALSE;
		}
		return TRUE;
	}
	else
	{
		return FALSE;
	}
	
}


/**
 * 
 * Vérifie que l'utilisateur est connecté
 * en effectuant une requête en BDD
 * @param int $id
 * @param string $token
 */
function verifAuthz($id, $token)
{
	
	$sql = "
			SELECT * FROM mu_session
			WHERE id_session = '".$token."'
			AND fid_account = '".$id."'
	";
	$query = @mysql_query($sql);
	
	if(mysql_num_rows($query)>0)
	{
		return TRUE;
	}
	else return FALSE;
		
	
	
}
/**
 * 
 * Supprime les vieilles sessions de l'utilisateur
 * @param int $id
 */
function deleteOldSession($id)
{
	$sql = "
			SELECT * FROM mu_session
			WHERE fid_account = '".$id."'
	";
	$query = @mysql_query($sql);
	
	if(mysql_num_rows($query)>0)
	{
		$sql = "DELETE FROM mu_session WHERE fid_account = '".$id."'";
		@mysql_query($sql);
	}
	
}
/**
 * 
 * Déconnecte l'utilisateur en détruisant sa session
 * @param int $id
 */
function logout($id)
{
	session_destroy();
	deleteOldSession($id);
	return TRUE;
}
